The invention is related to an interface adapter card for interfacing between a peripheral device in a communications bus within a data processing system. More particularly, the invention is a field programmable general purpose interface adapter for connecting peripheral devices within a computer processing system.
Computer designers and manufacturers typically organize the systems they produce into elements that permit optimum efficiency in design, manufacture, and capability for adaptation to future growth and expansion. This demonstrates itself in the distinct physical separation of the computation element from the storage elements and the input/output elements within a computer system. This is true for all sizes of systems; physical elements sizes range ,from separate boxes for large systems to chips in small systems such as personal computers.
Shown in FIG. 1 is a typical computer system 10 including a central processor 12, and memory 14 connected to a system I/O bus 20. Connected to the I/O bus are peripheral devices 30, 50 and 60. The variety of input/output capability needed by computers systems includes external memory 30, data archival communications 50 and display 60 which necessitates specific controllers to suit such various peripheral devices. The unique controllers associated with respective peripheral devices then typically have an adaption component (an adapter) that connects the unique character of the controlled peripheral device to a standard or uniformed interface compatible with the internal architecture of the overall computing system. In each case, both the controller and adapter are unique; each require a separate design and fabrication effort to produce.
That effort is expensive and time consuming. It entails designing the logical function of the adapter and controller, translating that design into physical circuits that implement the desired role and laying out traces on circuit cards that can then serve as a reproducible base for those circuits interconnecting the circuits properly so as to provide the desired function. As function changes so does the physical design of the card thereby warranting a repeat of the entire process and the manufacture of another physically new card.
Additionally, errors in design are often discovered after the product has been shipped to customers and is deployed in an operational environment. Correcting such errors is very expensive and the overall system is usually impacted while the service is performed and the logistics of managing such changes calls for careful attention by both the supplier and the customer.
Until the availability of microcontroller and microprocessors this was the only way to change adapter function or to apply engineering changes to the design. Recent developments implementing some portions of the adapter's function in the execution of a stored program allows changing function by changing the program rather than modifying the hardware itself. The greater the extent of function contained in that program, the greater the flexibility in determining the adapter's function via programming. This results in great flexibility but with a cost. The function must be derived from serial execution of program steps rather than from parallel hardware circuit elements capable of concurrent and relatively much faster functioning. As the need for greater performance for the same cost increases, other alternatives for flexibly implementing an adapter design are called for.